package com.graduation.springbootinit.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.graduation.springbootinit.model.entity.Book;

import java.util.List;

/**
 * 书籍服务
 */
public interface BookService extends IService<Book> {
    /**
     * 创建书籍
     * @param book 书籍信息
     * @return 书籍id
     */
    long addBook(Book book);

    /**
     * 删除书籍
     * @param id 书籍id
     * @return 是否成功
     */
    boolean deleteBook(long id);

    /**
     * 更新书籍信息
     * @param book 书籍信息
     * @return 是否成功
     */
    boolean updateBook(Book book);

    /**
     * 根据id获取书籍
     * @param id 书籍id
     * @return 书籍信息
     */
    Book getBookById(long id);

    /**
     * 获取所有书籍
     * @return 书籍列表
     */
    List<Book> listBooks();

    /**
     * 获取推荐书籍列表
     * @return 推荐书籍列表
     */
    List<Book> listRecommendBooks();

    /**
     * 批量添加书籍
     * @param bookList 书籍列表
     * @return 是否成功
     */
    boolean batchAddBooks(List<Book> bookList);
}